﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace task_of_five
{
    class Program
    {
        static void Main(string[] args)
        {
            
            Console.WriteLine("***** Положительные, отрицательные, нули ******* нажмите 1");
            Console.WriteLine();
            Console.WriteLine("***** Кратные пяти ***************************** нажмите 2");
            Console.WriteLine();
            Console.WriteLine("***** Количество, минимум, максимум ************ нажмите 3");
            Console.WriteLine();
            Console.WriteLine("***** Квадрат от 10 до 20 ********************** нажмите 4");
            Console.WriteLine();
            Console.WriteLine("***** Максимум из 5 чисел ********************** нажмите 5");
            Console.WriteLine();
            Console.WriteLine("***** Количество амеб через сутки ************** нажмите 6");
            Console.WriteLine();
            Console.WriteLine("***** Процент по депозиту ********************** нажмите 7");
            Console.WriteLine();
            Console.WriteLine("***** Делится на 3, но не на пять ************** нажмите 8");
            Console.WriteLine();
            Console.WriteLine("***** Записать в обратном порядке ************** нажмите 9");
            Console.WriteLine();
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("***** Выход из приложения ********************** нажмите 99");
            Console.ForegroundColor = ConsoleColor.Gray;



            int choise = Int32.Parse(Console.ReadLine());

            if (choise == 1)
                DofirstTask();

            else if (choise == 2)
                KratnieOfFive();

            else if (choise == 3)
                CountNum();

            else if (choise == 4)
                sq();

            else if (choise == 5)
                DoMax();

            else if (choise == 6)
                countAmb();

            else if (choise == 7)
                culcPer();

            else if (choise == 8)
                countN();

            else if (choise == 9)
                DoRev();

            else if (choise == 99)
                Environment.Exit(0);



            else
                Console.WriteLine("вы не хотите"); //коммент

        }

        static void DofirstTask()
        {
            int p = 0;
            int z = 0;
            int n = 0;
            Console.WriteLine("Введите количество чисел");
            int numberCount = Int32.Parse(Console.ReadLine());
            for (; numberCount > 0; numberCount--)
            {
                int b = Int32.Parse(Console.ReadLine());
                if (b > 0)
                {
                    p++;
                }

                else if (b == 0)
                {
                    z++;
                }

                else
                {
                    n++;
                }
            }
            Console.WriteLine("Положительных:{0}", p);
            Console.WriteLine("Нулей:{0}", z);
            Console.WriteLine("Отрицательных:{0}", n);

        }

        static void KratnieOfFive()
        {
            for (int i = 99; i >= 10; i--)
            {
                if (i % 5 == 0)
                {
                    Console.WriteLine(i);
                }
            }

            for (int b = -99; b <= -10; b++)

            {
                if (b % 5 == 0)
                {
                    Console.WriteLine(b);
                }
            }
        }
        //конец скобки метода кратных пяти

        static void CountNum()
        {
            Console.WriteLine("Enter number");
            int number = Int32.Parse(Console.ReadLine());
            int count = 1;
            int max = 0;
            int min = 9;
            int mid = 0;
            while (number / 10 > 0)
            {
                mid = number % 10;
                if (max < mid)
                    max = mid;
                if (mid < min)
                    min = mid;
                number /= 10;
                count++;
            }
            if (max < number)
                max = number;
            if (number < min)
                min = number;
            Console.WriteLine("count:{0}", count);
            Console.WriteLine("max:{0}", max);
            Console.WriteLine("min:{0}", min);
        } //конец скобки метода min\max\count

        static void sq()
        {
            int b;
            for (int i = 10; i <= 20; i++)
            {

                b = i * i;
                Console.WriteLine(b);
            }



        }

        static void DoMax()
        {
            int max = 0;
            Console.WriteLine("Enter five numbers");
            int numberOne = Int32.Parse(Console.ReadLine());
            int numberTwo = Int32.Parse(Console.ReadLine());
            int numberThree = Int32.Parse(Console.ReadLine());
            int numberFour = Int32.Parse(Console.ReadLine());
            int numberFive = Int32.Parse(Console.ReadLine());

            if (numberOne > numberTwo)
                max = numberOne;

            else
            {
                max = numberTwo;
            }

            if (max > numberThree)
                max = max;

            else
            {
                max = numberThree;
            }

            if (max > numberFour)
                max = max;

            else
            {
                max = numberFour;
            }

            if (max > numberFive)
                max = max;
            else
            {
                max = numberFive;
            }
            Console.WriteLine("Максимальное число {0} ", max);


        }
        static void countAmb()
        {
            int i = 1;
            for (int h = 3; h <= 24; h += 3)
            {
                i = i * 2;
                Console.WriteLine("Колличество амёб: {0}, через - {1} часов", i, h);
            }

        }

        static void culcPer()
        {
            Console.WriteLine("Введите сумму");
            double sum = Double.Parse(Console.ReadLine());
            Console.WriteLine("Срок в полных годах");
            double time  = Double.Parse(Console.ReadLine());
            double newSumYear;
            double newSumYears;
            double fullSum;

            newSumYear = (sum * 3) / 100;
            newSumYears = newSumYear * time;
            fullSum = newSumYears + sum;

            Console.WriteLine("Через {0} лет с депозита на котором было {1} будет {2} гривен", time, sum, fullSum);
            
                    }

        static void countN()
        {
            int d3;
            for (int i = 20; i <= 50; i++)
            {
                
                if ((i % 3 == 0) && (i % 5 != 0))
                {
                    d3 = i;
                    Console.WriteLine(d3);
                }
                
            }
            

            
        }

        static void DoRev()
        {
            Console.WriteLine("Введите число для реверса");
            int n = Int32.Parse(Console.ReadLine());
            Console.Write(n % 10);
            while ((n = n / 10) > 0)
            { 
          Console.Write(n % 10);
               
            }
            Console.WriteLine("");
        }

    }
}

